package wellness.activities.beans;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.GregorianCalendar;

import android.content.Context;

import wellness.activities.data.AtividadeData;
import wellness.activities.data.UsuarioData;

public class LoadBeans {

	public static ArrayList<AtividadeBean> atividades;
	private static ArrayList<TempoLivreBean> temposLivres = new ArrayList<TempoLivreBean>();
	private static ArrayList<AgendamentoBean> agendamentos = new ArrayList<AgendamentoBean>();
	private static UsuarioBean usuario = null;


	public static ArrayList<AtividadeBean> getAtividades() {
		return atividades;
	}

	public static AtividadeBean getAtividadePorId(int id){
		for(AtividadeBean a: LoadBeans.getAtividades()){
			if(a.getId() == id){
				return a;
			}
		}
		return null;
	}
	
	public static void removerAtividadePorId(int id, Context context){
		AtividadeData data = new AtividadeData(context);
		if(data.delete(id) > 0){
			for(AtividadeBean a: LoadBeans.getAtividades()){
				if(a.getId() == id){
					a.setRemovido(true);
					break;
				}
			}	
		}
	}
	
	public static ArrayList<AgendamentoBean> getAgendamentos() {
		return agendamentos;
	}

	public static AgendamentoBean getAgendamentoporId(int id){
		for(AgendamentoBean t: LoadBeans.getAgendamentos()){
			if(t.getId() == id){
				return t;
			}
		}
		return null;
	}
	
	public static ArrayList<AgendamentoBean> getAgendamentosPorDia(GregorianCalendar data){
		ArrayList<AgendamentoBean> agendamentos = new ArrayList<AgendamentoBean>();
		SimpleDateFormat br = new SimpleDateFormat("dd/MM/yyyy");
		for(AgendamentoBean t: LoadBeans.getAgendamentos()){
			if(br.format(t.getInicio().getTime()).equals(br.format(data.getTime()))){
				agendamentos.add(t);
			}
		}
		return agendamentos;
	}
	
	public static void removerAgendamentoPorId(int id){
		for(AgendamentoBean t: LoadBeans.getAgendamentos()){
			if(t.getId() == id){
				t.getServico().cancel();
				LoadBeans.getAgendamentos().remove(t);
				break;
			}
		}
	}
	
	public static ArrayList<TempoLivreBean> getTemposLivres() {
		return temposLivres;
	}

	public static TempoLivreBean getTempoLivrePorId(int id){
		for(TempoLivreBean t: LoadBeans.getTemposLivres()){
			if(t.getId() == id){
				return t;
			}
		}
		return null;
	}
	
	public static void removerTempoLivrePorId(int id){
		for(TempoLivreBean t: LoadBeans.getTemposLivres()){
			if(t.getId() == id){
				LoadBeans.getTemposLivres().remove(t);
				break;
			}
		}
	}

	public static UsuarioBean getUsuario() {
		return usuario;
	}

	public static void setUsuario(UsuarioBean usuario) {
		LoadBeans.usuario = usuario;
	}

	public static void setAtividades(ArrayList<AtividadeBean> atividades) {
		LoadBeans.atividades = atividades;
	}

	public static void setTemposLivres(ArrayList<TempoLivreBean> temposLivres) {
		LoadBeans.temposLivres = temposLivres;
	}

	public static void setAgendamentos(ArrayList<AgendamentoBean> agendamentos) {
		LoadBeans.agendamentos = agendamentos;
	}
	
	

}
